package com.jade.bss.admin.menu;

import java.util.List;

import com.jade.bss.base.BssException;
import com.jade.framework.base.criterion.Criteria;
import com.jade.framework.base.util.PagingList;

/**
 * 菜单数据访问接口。
 */
public interface MenuDao
{
    /**
     * 添加菜单。
     *
     * @param menu 菜单信息
     */
    public void add(Menu menu)
            throws BssException;

    /**
     * 更新菜单。
     *
     * @param menu 菜单信息
     */
    public void update(Menu menu)
            throws BssException;

    /**
     * 获取菜单信息。
     *
     * @param id:菜单id
     * @return 内容信息。
     */
    public Menu get(long id);

    /**
     * 删除菜单。
     *
     * @param menu 菜单信息
     */
    public void remove(Menu menu)
            throws BssException;

    /**
     * 查询菜单.
     *
     * @param criteria:查询条件
     * @return 菜单列表。
     */
    public List<Menu> list(Criteria criteria);

    /**
     * 查询菜单．
     *
     * @param criteria:查询条件
     * @return 菜单列表。
     */
    public PagingList<Menu> query(Criteria criteria);
}
